import { createApp } from "vue";
import "./style.css"; // 全局样式
import ElementPlus from "element-plus"; // 引入element-plus
import "element-plus/dist/index.css";
import { createPinia } from 'pinia'; // 引入pinia
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'; // 引入pinia持久化插件
import App from "./App.vue";
import router from "@/router";

import ChatMsgEl from "./components/ReChat/chatMsgEl.vue"; // 引入 聊天消息 组件

import ReText from "./components/ReText/index.js"; // 引入 文字提示 组件
import "tippy.js/dist/tippy.css"; // 引入 文字提示 样式
import "tippy.js/themes/light.css";

import "vue-virtual-scroller/dist/vue-virtual-scroller.css"; // 引入 虚拟列表 样式
import VirtualScroller from "vue-virtual-scroller"; // 引入 虚拟列表 组件

import i18n from '@/plugins/i18n' // 引入 i18n国际化 插件
import { useLocaleStore } from '@/store/locale'; // 引入 语言切换 store

import 'viewerjs/dist/viewer.css' // 引入 图片预览 样式
import VueViewer from 'v-viewer' // 引入 图片预览 组件

const app = createApp(App);

const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)
setTimeout(() => {  // 初始化i18n语言
  const localeStore = useLocaleStore()
  localeStore.changeLocale(localeStore.currentLocale) 
})

app.use(pinia);
app.use(ElementPlus);
app.use(router);
app.use(ReText);
app.use(VirtualScroller);
app.use(i18n);
app.use(VueViewer);

app.component("ChatMsgEl", ChatMsgEl);


app.mount("#app");

VueViewer.setDefaults({ // 图片预览配置
  title: false, // 标题
  toolbar: { // 工具栏
    reset: 1,
    prev: 1,
    next: 1,
    rotateLeft: 1,
    rotateRight: 1,
  },
  className: 'v-viewer', // 自定义类名
  toggleOnDblclick: false, // 禁用双击放大
})
